Micron Document
🎖️GitЯра🎖️

Node / meshtastic / Meshtastic-Android / files / desktop / src / main / kotlin / org / meshtastic / desktop / di / DesktopKoinModule.kt

Displaying Raw • Download

desktop/src/main/kotlin/org/meshtastic/desktop/di/DesktopKoinModule.kt 9acdf5309f8f0ab96b30d6505bdac5e93a3bb72c (9acdf530) Text, 11.47 KB

T8b949e/*
* Copyright (c) 2025-2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tf0883e@fileTb4b4b4:Te6edf3SuppressTb4b4b4(Ta5d6ff"Ta5d6ffktlint:standard:no-unused-importsTa5d6ff"Tb4b4b4) T8b949e// Koin KSP-generated extension functions require aliased imports

Tff7b72package T7ee787org.meshtastic.desktop.di

T8b949e// Generated Koin module extensions from core KMP modules
Tff7b72import T7ee787io.ktor.client.HttpClient
Tff7b72import T7ee787io.ktor.client.engine.java.Java
Tff7b72import T7ee787io.ktor.client.plugins.HttpRequestRetry
Tff7b72import T7ee787io.ktor.client.plugins.HttpTimeout
Tff7b72import T7ee787io.ktor.client.plugins.contentnegotiation.ContentNegotiation
Tff7b72import T7ee787io.ktor.client.plugins.logging.LogLevel
Tff7b72import T7ee787io.ktor.client.plugins.logging.Logging
Tff7b72import T7ee787io.ktor.serialization.kotlinx.json.json
Tff7b72import T7ee787kotlinx.serialization.json.Json
Tff7b72import T7ee787org.koin.dsl.module
Tff7b72import T7ee787org.meshtastic.core.data.datasource.BootloaderOtaQuirksJsonDataSource
Tff7b72import T7ee787org.meshtastic.core.data.datasource.DeviceHardwareJsonDataSource
Tff7b72import T7ee787org.meshtastic.core.data.datasource.FirmwareReleaseJsonDataSource
Tff7b72import T7ee787org.meshtastic.core.model.BootloaderOtaQuirk
Tff7b72import T7ee787org.meshtastic.core.model.NetworkDeviceHardware
Tff7b72import T7ee787org.meshtastic.core.model.NetworkFirmwareReleases
Tff7b72import T7ee787org.meshtastic.core.model.RadioController
Tff7b72import T7ee787org.meshtastic.core.network.HttpClientDefaults
Tff7b72import T7ee787org.meshtastic.core.network.KermitHttpLogger
Tff7b72import T7ee787org.meshtastic.core.network.repository.MQTTRepository
Tff7b72import T7ee787org.meshtastic.core.network.service.ApiService
Tff7b72import T7ee787org.meshtastic.core.network.service.ApiServiceImpl
Tff7b72import T7ee787org.meshtastic.core.repository.AppWidgetUpdater
Tff7b72import T7ee787org.meshtastic.core.repository.LocationRepository
Tff7b72import T7ee787org.meshtastic.core.repository.MeshLocationManager
Tff7b72import T7ee787org.meshtastic.core.repository.MeshServiceNotifications
Tff7b72import T7ee787org.meshtastic.core.repository.MeshWorkerManager
Tff7b72import T7ee787org.meshtastic.core.repository.MessageQueue
Tff7b72import T7ee787org.meshtastic.core.repository.NotificationManager
Tff7b72import T7ee787org.meshtastic.core.repository.PlatformAnalytics
Tff7b72import T7ee787org.meshtastic.core.repository.RadioTransportFactory
Tff7b72import T7ee787org.meshtastic.core.repository.ServiceBroadcasts
Tff7b72import T7ee787org.meshtastic.core.repository.ServiceRepository
Tff7b72import T7ee787org.meshtastic.core.service.DirectRadioControllerImpl
Tff7b72import T7ee787org.meshtastic.core.service.ServiceRepositoryImpl
Tff7b72import T7ee787org.meshtastic.desktop.DesktopBuildConfig
Tff7b72import T7ee787org.meshtastic.desktop.DesktopNotificationManager
Tff7b72import T7ee787org.meshtastic.desktop.notification.DesktopMeshServiceNotifications
Tff7b72import T7ee787org.meshtastic.desktop.radio.DesktopMessageQueue
Tff7b72import T7ee787org.meshtastic.desktop.radio.DesktopRadioTransportFactory
Tff7b72import T7ee787org.meshtastic.desktop.stub.NoopAppWidgetUpdater
Tff7b72import T7ee787org.meshtastic.desktop.stub.NoopCompassHeadingProvider
Tff7b72import T7ee787org.meshtastic.desktop.stub.NoopLocationRepository
Tff7b72import T7ee787org.meshtastic.desktop.stub.NoopMQTTRepository
Tff7b72import T7ee787org.meshtastic.desktop.stub.NoopMagneticFieldProvider
Tff7b72import T7ee787org.meshtastic.desktop.stub.NoopMeshLocationManager
Tff7b72import T7ee787org.meshtastic.desktop.stub.NoopMeshWorkerManager
Tff7b72import T7ee787org.meshtastic.desktop.stub.NoopPhoneLocationProvider
Tff7b72import T7ee787org.meshtastic.desktop.stub.NoopPlatformAnalytics
Tff7b72import T7ee787org.meshtastic.desktop.stub.NoopServiceBroadcasts
Tff7b72import T7ee787org.meshtastic.feature.node.compass.CompassHeadingProvider
Tff7b72import T7ee787org.meshtastic.feature.node.compass.MagneticFieldProvider
Tff7b72import T7ee787org.meshtastic.feature.node.compass.PhoneLocationProvider
Tff7b72import T7ee787org.meshtastic.core.ble.di.module Tff7b72as Te6edf3coreBleModule
Tff7b72import T7ee787org.meshtastic.core.common.di.module Tff7b72as Te6edf3coreCommonModule
Tff7b72import T7ee787org.meshtastic.core.data.di.module Tff7b72as Te6edf3coreDataModule
Tff7b72import T7ee787org.meshtastic.core.database.di.module Tff7b72as Te6edf3coreDatabaseModule
Tff7b72import T7ee787org.meshtastic.core.datastore.di.module Tff7b72as Te6edf3coreDatastoreModule
Tff7b72import T7ee787org.meshtastic.core.di.di.module Tff7b72as Te6edf3coreDiModule
Tff7b72import T7ee787org.meshtastic.core.domain.di.module Tff7b72as Te6edf3coreDomainModule
Tff7b72import T7ee787org.meshtastic.core.network.di.module Tff7b72as Te6edf3coreNetworkModule
Tff7b72import T7ee787org.meshtastic.core.prefs.di.module Tff7b72as Te6edf3corePrefsModule
Tff7b72import T7ee787org.meshtastic.core.repository.di.module Tff7b72as Te6edf3coreRepositoryModule
Tff7b72import T7ee787org.meshtastic.core.service.di.module Tff7b72as Te6edf3coreServiceModule
Tff7b72import T7ee787org.meshtastic.core.takserver.di.module Tff7b72as Te6edf3coreTakServerModule
Tff7b72import T7ee787org.meshtastic.core.ui.di.module Tff7b72as Te6edf3coreUiModule
Tff7b72import T7ee787org.meshtastic.desktop.di.module Tff7b72as Te6edf3desktopDiModule
Tff7b72import T7ee787org.meshtastic.feature.connections.di.module Tff7b72as Te6edf3featureConnectionsModule
Tff7b72import T7ee787org.meshtastic.feature.firmware.di.module Tff7b72as Te6edf3featureFirmwareModule
Tff7b72import T7ee787org.meshtastic.feature.intro.di.module Tff7b72as Te6edf3featureIntroModule
Tff7b72import T7ee787org.meshtastic.feature.map.di.module Tff7b72as Te6edf3featureMapModule
Tff7b72import T7ee787org.meshtastic.feature.messaging.di.module Tff7b72as Te6edf3featureMessagingModule
Tff7b72import T7ee787org.meshtastic.feature.node.di.module Tff7b72as Te6edf3featureNodeModule
Tff7b72import T7ee787org.meshtastic.feature.settings.di.module Tff7b72as Te6edf3featureSettingsModule
Tff7b72import T7ee787org.meshtastic.feature.wifiprovision.di.module Tff7b72as Te6edf3featureWifiProvisionModule

T8b949e/**
* Koin module for the Desktop target.
*
* Includes the generated Koin K2 modules from core KMP libraries (which provide real implementations of prefs, data
* repositories, managers, datastore data sources, use cases, and ViewModels from `commonMain`).
*
* Only truly platform-specific interfaces are stubbed here — things that require Android APIs (BLE/USB transport,
* notifications, WorkManager, location services, broadcasts, widgets).
*
* Platform infrastructure (DataStores, Room database, Lifecycle) is provided by [desktopPlatformModule].
*/
Tff7b72fun Td2a8ffdesktopModuleTb4b4b4(Tb4b4b4) Tff7b72= Te6edf3module Tb4b4b4{
T8b949e// Include generated Koin K2 modules from core KMP libraries (commonMain implementations)
Te6edf3includesTb4b4b4(
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3diTb4b4b4.Te6edf3diTb4b4b4.Te6edf3CoreDiModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3coreDiModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3commonTb4b4b4.Te6edf3diTb4b4b4.Te6edf3CoreCommonModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3coreCommonModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3datastoreTb4b4b4.Te6edf3diTb4b4b4.Te6edf3CoreDatastoreModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3coreDatastoreModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3prefsTb4b4b4.Te6edf3diTb4b4b4.Te6edf3CorePrefsModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3corePrefsModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3databaseTb4b4b4.Te6edf3diTb4b4b4.Te6edf3CoreDatabaseModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3coreDatabaseModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3diTb4b4b4.Te6edf3CoreDataModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3coreDataModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3domainTb4b4b4.Te6edf3diTb4b4b4.Te6edf3CoreDomainModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3coreDomainModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3repositoryTb4b4b4.Te6edf3diTb4b4b4.Te6edf3CoreRepositoryModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3coreRepositoryModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3networkTb4b4b4.Te6edf3diTb4b4b4.Te6edf3CoreNetworkModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3coreNetworkModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3bleTb4b4b4.Te6edf3diTb4b4b4.Te6edf3CoreBleModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3coreBleModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3uiTb4b4b4.Te6edf3diTb4b4b4.Te6edf3CoreUiModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3coreUiModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3serviceTb4b4b4.Te6edf3diTb4b4b4.Te6edf3CoreServiceModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3coreServiceModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3coreTb4b4b4.Te6edf3takserverTb4b4b4.Te6edf3diTb4b4b4.Te6edf3CoreTakServerModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3coreTakServerModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3settingsTb4b4b4.Te6edf3diTb4b4b4.Te6edf3FeatureSettingsModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3featureSettingsModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3nodeTb4b4b4.Te6edf3diTb4b4b4.Te6edf3FeatureNodeModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3featureNodeModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3messagingTb4b4b4.Te6edf3diTb4b4b4.Te6edf3FeatureMessagingModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3featureMessagingModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3connectionsTb4b4b4.Te6edf3diTb4b4b4.Te6edf3FeatureConnectionsModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3featureConnectionsModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3mapTb4b4b4.Te6edf3diTb4b4b4.Te6edf3FeatureMapModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3featureMapModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3firmwareTb4b4b4.Te6edf3diTb4b4b4.Te6edf3FeatureFirmwareModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3featureFirmwareModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3introTb4b4b4.Te6edf3diTb4b4b4.Te6edf3FeatureIntroModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3featureIntroModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3featureTb4b4b4.Te6edf3wifiprovisionTb4b4b4.Te6edf3diTb4b4b4.Te6edf3FeatureWifiProvisionModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3featureWifiProvisionModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3orgTb4b4b4.Te6edf3meshtasticTb4b4b4.Te6edf3desktopTb4b4b4.Te6edf3diTb4b4b4.Te6edf3DesktopDiModuleTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3desktopDiModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3desktopPlatformStubsModuleTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}

T8b949e/**
* Stubs for truly platform-specific interfaces that have no `commonMain` implementation. These require Android APIs
* (BLE/USB transport, notifications, WorkManager, location, broadcasts, widgets).
*/
Tf0883e@SuppressTb4b4b4(Ta5d6ff"Ta5d6ffLongMethodTa5d6ff"Tb4b4b4)
Tff7b72private Tff7b72fun Td2a8ffdesktopPlatformStubsModuleTb4b4b4(Tb4b4b4) Tff7b72= Te6edf3module Tb4b4b4{
Te6edf3singleTff7b72<Te6edf3ServiceRepositoryTff7b72> Tb4b4b4{ Te6edf3ServiceRepositoryImplTb4b4b4(Tb4b4b4) Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3RadioTransportFactoryTff7b72> Tb4b4b4{
Te6edf3DesktopRadioTransportFactoryTb4b4b4(
Te6edf3dispatchers Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3scanner Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3bluetoothRepository Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3connectionFactory Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3RadioControllerTff7b72> Tb4b4b4{
Te6edf3DirectRadioControllerImplTb4b4b4(
Te6edf3serviceRepository Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3nodeRepository Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3commandSender Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3router Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3nodeManager Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3radioInterfaceService Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3locationManager Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3single Tb4b4b4{ Te6edf3DesktopNotificationManagerTb4b4b4(Te6edf3prefs Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3NotificationManagerTff7b72> Tb4b4b4{ Tff7b72getTff7b72<Te6edf3DesktopNotificationManagerTff7b72>Tb4b4b4(Tb4b4b4) Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3MeshServiceNotificationsTff7b72> Tb4b4b4{ Te6edf3DesktopMeshServiceNotificationsTb4b4b4(Te6edf3notificationManager Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3PlatformAnalyticsTff7b72> Tb4b4b4{ Te6edf3NoopPlatformAnalyticsTb4b4b4(Tb4b4b4) Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3ServiceBroadcastsTff7b72> Tb4b4b4{ Te6edf3NoopServiceBroadcastsTb4b4b4(Tb4b4b4) Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3AppWidgetUpdaterTff7b72> Tb4b4b4{ Te6edf3NoopAppWidgetUpdaterTb4b4b4(Tb4b4b4) Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3MeshWorkerManagerTff7b72> Tb4b4b4{ Te6edf3NoopMeshWorkerManagerTb4b4b4(Tb4b4b4) Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3MessageQueueTff7b72> Tb4b4b4{ Te6edf3DesktopMessageQueueTb4b4b4(Te6edf3packetRepository Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3radioController Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3dispatchers Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3MeshLocationManagerTff7b72> Tb4b4b4{ Te6edf3NoopMeshLocationManagerTb4b4b4(Tb4b4b4) Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3LocationRepositoryTff7b72> Tb4b4b4{ Te6edf3NoopLocationRepositoryTb4b4b4(Tb4b4b4) Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3MQTTRepositoryTff7b72> Tb4b4b4{ Te6edf3NoopMQTTRepositoryTb4b4b4(Tb4b4b4) Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3CompassHeadingProviderTff7b72> Tb4b4b4{ Te6edf3NoopCompassHeadingProviderTb4b4b4(Tb4b4b4) Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3PhoneLocationProviderTff7b72> Tb4b4b4{ Te6edf3NoopPhoneLocationProviderTb4b4b4(Tb4b4b4) Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3MagneticFieldProviderTff7b72> Tb4b4b4{ Te6edf3NoopMagneticFieldProviderTb4b4b4(Tb4b4b4) Tb4b4b4}

T8b949e// Desktop uses the real ApiService implementation (no flavor stub needed)
Te6edf3singleTff7b72<Te6edf3ApiServiceTff7b72> Tb4b4b4{ Te6edf3ApiServiceImplTb4b4b4(Te6edf3client Tff7b72= Tff7b72getTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4}

T8b949e// Ktor HttpClient for JVM/Desktop (equivalent of CoreNetworkAndroidModule on Android)
Te6edf3singleTff7b72<Te6edf3HttpClientTff7b72> Tb4b4b4{
Te6edf3HttpClientTb4b4b4(Te6edf3JavaTb4b4b4) Tb4b4b4{
Te6edf3installTb4b4b4(Te6edf3ContentNegotiationTb4b4b4) Tb4b4b4{ Te6edf3jsonTb4b4b4(Tff7b72getTff7b72<Te6edf3JsonTff7b72>Tb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4}
Te6edf3installTb4b4b4(Te6edf3HttpTimeoutTb4b4b4) Tb4b4b4{
Te6edf3requestTimeoutMillis Tff7b72= Te6edf3HttpClientDefaultsTb4b4b4.Te6edf3TIMEOUT_MS
Te6edf3connectTimeoutMillis Tff7b72= Te6edf3HttpClientDefaultsTb4b4b4.Te6edf3TIMEOUT_MS
Te6edf3socketTimeoutMillis Tff7b72= Te6edf3HttpClientDefaultsTb4b4b4.Te6edf3TIMEOUT_MS
Tb4b4b4}
Te6edf3installTb4b4b4(Te6edf3HttpRequestRetryTb4b4b4) Tb4b4b4{
Te6edf3retryOnServerErrorsTb4b4b4(Te6edf3maxRetries Tff7b72= Te6edf3HttpClientDefaultsTb4b4b4.Te6edf3MAX_RETRIESTb4b4b4)
Te6edf3exponentialDelayTb4b4b4(Tb4b4b4)
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3DesktopBuildConfigTb4b4b4.Te6edf3IS_DEBUGTb4b4b4) Tb4b4b4{
Te6edf3installTb4b4b4(Te6edf3LoggingTb4b4b4) Tb4b4b4{
Te6edf3logger Tff7b72= Te6edf3KermitHttpLogger
Te6edf3level Tff7b72= Te6edf3LogLevelTb4b4b4.Te6edf3HEADERS
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

T8b949e// Desktop stubs for data sources that load from Android assets on mobile
Te6edf3singleTff7b72<Te6edf3FirmwareReleaseJsonDataSourceTff7b72> Tb4b4b4{
Tff7b72object Tb4b4b4: T56d364FirmwareReleaseJsonDataSource Tb4b4b4{
Tff7b72override Tff7b72fun Td2a8ffloadFirmwareReleaseFromJsonAssetTb4b4b4(Tb4b4b4) Tff7b72= Te6edf3NetworkFirmwareReleasesTb4b4b4(Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3DeviceHardwareJsonDataSourceTff7b72> Tb4b4b4{
Tff7b72object Tb4b4b4: T56d364DeviceHardwareJsonDataSource Tb4b4b4{
Tff7b72override Tff7b72fun Td2a8ffloadDeviceHardwareFromJsonAssetTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3ListTff7b72<Te6edf3NetworkDeviceHardwareTff7b72> Tff7b72= Te6edf3emptyListTb4b4b4(Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Te6edf3singleTff7b72<Te6edf3BootloaderOtaQuirksJsonDataSourceTff7b72> Tb4b4b4{
Tff7b72object Tb4b4b4: T56d364BootloaderOtaQuirksJsonDataSource Tb4b4b4{
Tff7b72override Tff7b72fun Td2a8ffloadBootloaderOtaQuirksFromJsonAssetTb4b4b4(Tb4b4b4)Tb4b4b4: Te6edf3ListTff7b72<Te6edf3BootloaderOtaQuirkTff7b72> Tff7b72= Te6edf3emptyListTb4b4b4(Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Served by rngit 1.5.0 - Generated in 0.09s